package com.example.graduate.service;

import com.example.graduate.dto.*;
import com.example.graduate.response.DataResponse;

public interface OrderService {
    /**
     * 获取主页信息
     * @param request
     * @return
     */
    DataResponse getInfo(GetDataRequest request);

    /**
     * 订单接收
     * @param acceptOrderRequest
     * @return
     */
    DataResponse acceptOrder(AcceptOrderRequest acceptOrderRequest);


    /**
     * 取消订单
     * @param cancelOrderRequest
     * @return
     */
    DataResponse cancelOrder(CancelOrderRequest cancelOrderRequest);

    /**
     * 完成订单
     * @param completeOrder
     * @return
     */
    DataResponse completeOrder(CompleteOrderRequest completeOrder);

    /**
     * 获取用户接收的订单
     * @param getAcceptOrderRequest
     * @return
     */
    DataResponse getAcceptOrder(GetAcceptOrderRequest getAcceptOrderRequest);

    /**
     * 用户直接发单
     * @param addOrderRequest
     * @return
     */
    DataResponse addOrder(AddOrderRequest addOrderRequest);

    /**
     * 获取用户历史订单
     * @param getHistoryOrderRequest
     * @return
     */
    DataResponse getHistoryOrder(GetHistoryOrderRequest getHistoryOrderRequest);


    /**
     * 获取用户历史接的订单
     * @param getHistoryOrderRequest
     * @return
     */
    DataResponse getHistoryAcceptOrder(GetHistoryOrderRequest getHistoryOrderRequest);

    /**
     * 获取用户推送数据
     * @param getPushOrderRequest
     * @return
     */
    DataResponse getPushOrder(GetPushOrderRequest getPushOrderRequest);
}
